#include "login.h"

login::login(QWidget *parent) :
    QDockWidget(parent),
    ui(new Ui::login),
    w(nullptr) // 初始化指针为 nullptr
{
    ui->setupUi(this);
}

login::~login()
{
    delete ui;
    if (w) { // 确保删除动态分配的MainWindow对象
        delete w;
    }
}

void login::on_pushButton_clicked()
{
    // 获取编辑框中的IP地址
    const QString IP = this->ui->IPEdit->text();
    const QString PW = this->ui->PWEdit->text();
    if (this->link(IP,PW)){
        // 如果 MainWindow 对象不存在，则创建并设置父对象
        if (!w) {
            w = new MainWindow(IP,this);
        }

        // 关闭当前的登录窗口
        this->close();

        // 显示 MainWindow 窗口
        w->show();
    }
    else {
        // 登录失败，显示错误弹窗提示
        QMessageBox::critical(this, "登录失败", "IP地址或密码错误，请重试。");
    }
}

bool login::link(QString IP , QString Password) {
    // 指定的IP和密码
    const QString validIP = "47.98.160.21";
    const QString validPassword = "123456";
    // 验证输入的IP和密码是否匹配指定的IP和密码
    if (IP == validIP && Password == validPassword) {
        return true; // 登录成功
    } else {
        return false; // 登录失败
    }
}
